﻿// Xshell Task Set Interface
// 
// <copyright file="IXsTaskSet.cs" company="TaskyMedia LLC">
//   Copyright © 2010 TaskyMedia LLC
// </copyright>
namespace Xshell
{
    using System;

    /// <summary>
    /// Contains a list of tasks and any conditions for task execution.
    /// </summary>
    public interface IXsTaskSet
    {
        /// <summary>
        /// Gets a value indicating whether the task set conditions are valid.
        /// </summary>
        /// <value><c>true</c> if the task set conditions are valid; otherwise, <c>false</c>.</value>
        bool AreConditionsValid { get; }

        /// <summary>
        /// Executes the tasks in the current <see cref="XsTaskSet"/> instance.
        /// </summary>
        void Execute();
    }
}
